home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 - Homepage / CHIP.BIN / share / webmaste / csehtmlp / csehtmlp.exe / {app} / ParserRules / clarion.xs < prev    next >
Encoding:
Text File  |  2002-04-22  |  5.0 KB  |  129 lines

  1. //Language: Clarion
  2. //Copyright (c) 1992-2002 Altium Limited            
  3. //All rights reserved.                              
  4. //http://www.dream-com.com                          
  5. //contact@dream-com.com                             
  6.  
  7. // states
  8. State=snormal
  9. State=sstring
  10. State=scomment1
  11. State=scomment2
  12. // tokens
  13. Token=tNone
  14. Token=tstring
  15. Token=tcomment
  16. Token=tident
  17. Token=tinteger
  18. Token=tfloat
  19. Token=tresword
  20. Token=tresword1
  21. Token=twhitespace
  22. //delims
  23. Delimiters=()[]''{}<>:,.|#$";!?@*~
  24.  
  25. // reswords
  26. snormal 'accept'         snormal tresword
  27. snormal 'and'            snormal tresword
  28. snormal 'begin'          snormal tresword
  29. snormal 'break'          snormal tresword
  30. snormal 'by'             snormal tresword
  31. snormal 'case'           snormal tresword
  32. snormal 'choose'         snormal tresword
  33. snormal 'compile'        snormal tresword
  34. snormal 'cycle'          snormal tresword
  35. snormal 'do'             snormal tresword
  36. snormal 'else'           snormal tresword
  37. snormal 'elsif'          snormal tresword
  38. snormal 'end'            snormal tresword
  39. snormal 'execute'        snormal tresword
  40. snormal 'exit'           snormal tresword
  41. snormal 'function'       snormal tresword
  42. snormal 'goto'           snormal tresword
  43. snormal 'if'             snormal tresword
  44. snormal 'include'        snormal tresword
  45. snormal 'loop'           snormal tresword
  46. snormal 'member'         snormal tresword
  47. snormal 'new'            snormal tresword
  48. snormal 'not'            snormal tresword
  49. snormal 'null'           snormal tresword
  50. snormal 'of'             snormal tresword
  51. snormal 'omit'           snormal tresword
  52. snormal 'or'             snormal tresword
  53. snormal 'orof'           snormal tresword
  54. snormal 'parent'         snormal tresword
  55. snormal 'procedure'      snormal tresword
  56. snormal 'program'        snormal tresword
  57. snormal 'return'         snormal tresword
  58. snormal 'routine'        snormal tresword
  59. snormal 'section'        snormal tresword
  60. snormal 'self'           snormal tresword
  61. snormal 'then'           snormal tresword
  62. snormal 'times'          snormal tresword
  63. snormal 'to'             snormal tresword
  64. snormal 'until'          snormal tresword
  65. snormal 'while'          snormal tresword
  66. snormal 'xor'            snormal tresword
  67.                                          
  68. snormal 'application'    snormal tresword1
  69. snormal 'class'          snormal tresword1
  70. snormal 'code'           snormal tresword1
  71. snormal 'data'           snormal tresword1
  72. snormal 'detail'         snormal tresword1
  73. snormal 'file'           snormal tresword1
  74. snormal 'footer'         snormal tresword1
  75. snormal 'form'           snormal tresword1
  76. snormal 'group'          snormal tresword1
  77. snormal 'header'         snormal tresword1
  78. snormal 'item'           snormal tresword1
  79. snormal 'itemize'        snormal tresword1
  80. snormal 'join'           snormal tresword1
  81. snormal 'map'            snormal tresword1
  82. snormal 'menu'           snormal tresword1
  83. snormal 'menubar'        snormal tresword1
  84. snormal 'module'         snormal tresword1
  85. snormal 'olecontrol'     snormal tresword1
  86. snormal 'option'         snormal tresword1
  87. snormal 'queue'          snormal tresword1
  88. snormal 'record'         snormal tresword1
  89. snormal 'report'         snormal tresword1
  90. snormal 'row'            snormal tresword1
  91. snormal 'sheet'          snormal tresword1
  92. snormal 'tab'            snormal tresword1
  93. snormal 'table'          snormal tresword1
  94. snormal 'toolbar'        snormal tresword1
  95. snormal 'view'           snormal tresword1
  96. snormal 'window'         snormal tresword1
  97.  
  98. //idents
  99. snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident
  100.  
  101. // numbers
  102. snormal [0-9][0-9]*                            snormal  tinteger
  103. snormal \++[0-9][0-9]*                         snormal  tinteger
  104. snormal \-+[0-9][0-9]*                         snormal  tinteger
  105. snormal [0-9][0-9]*o                           snormal  tinteger
  106. snormal \++[0-9][0-9]*o                        snormal  tinteger
  107. snormal \-+[0-9][0-9]*o                        snormal  tinteger
  108. snormal [0-9A-F]+h                             snormal  tinteger
  109. snormal \++[0-9A-F]+h                          snormal  tinteger
  110. snormal \-+[0-9A-F]+h                          snormal  tinteger
  111. snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
  112. snormal \++[1-9][0-9]*\.[0-9]*                 snormal  tfloat
  113. snormal \-+[1-9][0-9]*\.[0-9]*                 snormal  tfloat
  114.  
  115. //comments
  116. snormal   \!                       scomment1 tcomment 
  117. scomment1 [#1-#255]*               snormal   tcomment
  118. scomment1 $                        snormal   tcomment
  119. snormal   \-\-                     scomment2 tcomment 
  120. scomment2 [#1-#255]*               snormal   tcomment
  121. scomment2 $                        snormal   tcomment
  122.  
  123. //strings
  124. snormal   \'                      sstring   tstring
  125. sstring   [^\']*                  sstring   tstring
  126. sstring   \'                      snormal   tstring
  127. sstring   \'\'                    sstring   tstring
  128. sstring   $                       snormal   tstring
  129.